import request from "@/config/axios";

export interface TenantVO {
    id: number;
    name: string;
    contactName: string;
    contactMobile: string;
    status: number;
    domain: string;
    packageId: number;
    username: string;
    password: string;
    expireTime: Date;
    accountCount: number;
    createTime: Date;
}

export interface TenantPageReqVO extends PageParam {
    name?: string;
    contactName?: string;
    contactMobile?: string;
    status?: number;
    createTime?: Date[];
}

export interface TenantExportReqVO {
    name?: string;
    contactName?: string;
    contactMobile?: string;
    status?: number;
    createTime?: Date[];
}

// 查询租户列表
export const getTenantPage = (params: TenantPageReqVO) => {
    return request.get({ url: "/system/tenant/page", params });
};

// 查询租户详情
export const getTenant = (id: number) => {
    return request.get({ url: "/system/tenant/get?id=" + id });
};

// 新增租户
export const createTenant = (data: TenantVO) => {
    return request.post({ url: "/system/tenant/create", data });
};

// 修改租户
export const updateTenant = (data: TenantVO) => {
    return request.put({ url: "/system/tenant/update", data });
};

// 删除租户
export const deleteTenant = (id: number) => {
    return request.delete({ url: "/system/tenant/delete?id=" + id });
};

// 导出租户
export const exportTenant = (params: TenantExportReqVO) => {
    return request.download({ url: "/system/tenant/export-excel", params });
};
